home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 34
/
Aminet 34 (2000)(Schatztruhe)[!][Dec 1999].iso
/
Aminet
/
comm
/
misc
/
ViperDaemon.lha
/
ViperDaemon-Install
/
Programme
/
ARexx
/
Counter2TCalc.VDaemon
next >
Wrap
Text File
|
1999-08-19
|
3KB
|
80 lines
/* ------------------------------------------------------------
Datei : Counter2TCalc2.VDaemon
Autor : J.Reinert/Lehrte
Funktion : Gebührenzähler auslesen und ab Cursorposition
in TurboCalc-Arbeitsblatt einfügen
Bedingung: Turbocalc muss gestartet sein
--------------------------------------------------------------*/
options results
DaemonStarted=0 /* Falls Daemon nicht läuft... */
if ~show(ports,'ViperDaemon') then do
ADDRESS COMMAND /* CLI-Befehle zugänglich machen */
"RUN >NIL: ViperDaemon" /* ViperDaemon starten */
WaitForPort "ViperDaemon" /* warten auf ARexx-Port */
if rc=0 then DaemonStarted=1 /* wenn gestartet, dann Flag setzen */
end
if show(ports,'ViperDaemon') then /* Ist ViperDaemon wirklich aktiv?*/
do
if show(ports,'TCALC') then
do
Address "ViperDaemon" /* Daemon-Port festlegen */
DD_REQUEST "Zählerstände in TurboCalc-| Arbeitsblatt eintragen?"
if result=1 then
do
DD_GETCOUNTER /* Gebührenzähler auslesen */
Counter=result
Call TransferToTC
if Summe ~= 0 then
do
Address "ViperDaemon"
DD_REQUEST "Alle Zähler auf Null setzen?"
if result=1 then
do
DD_RESETCOUNTER ALL /* Wenn gewünscht, alle Zähler löschen */
Counter=result
Call TransferToTC
end
end
end
end
else
do /* Kein Turbocalc-Port gesehen */
Address "ViperDaemon"
DD_ERROR "Turbocalc läuft nicht!"
end
if DaemonStarted then /* Daemon beenden, falls durch Script gestartet */
do
Address "ViperDaemon"
DD_ExitDaemon
end
end
exit
/* -----------------------------------------------------------------------
Ergebnis zerlegen und in TurboCalc-Arbeitsblatt eintragen
-----------------------------------------------------------------------*/
TransferToTC:
Summe=0 /* Gebührensumme aller Zähler*/
ADDRESS TCALC /* TurboCalc-Port festlegen */
GETCURSORPOS
oldpos = result
do i=1 to 4 /* Daten ab Cursorposition eintragen */
x=SubWord(Counter,i,1) /* Wert aus Ergebnis-String holen */
if i>2 then Summe=Summe+x /* Summe bilden */
put x /* Wert in Zelle eintragen */
column 1 /* Cursor eine Zelle nach rechts */
end
selectcell oldpos /* Cursor zurück */
line 1 /* Cursor ein Zeile tiefer */
Return